perm filename FIB.MCL[TIM,LSP] blob
sn#646546 filedate 1982-03-04 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 (defun fib (n) 7.368
C00003 00003 (defun timit ()
C00006 00004 (timit)
C00007 ENDMK
C⊗;
(defun fib (n) ;7.368
(cond ((= n 0) 1)
((= n 1) 1)
(t (+ (fib (- n 1))(fib (- n 2))))))
(defun fib1 (n) ;6.994
(cond ((zerop n) 1)
((equal n 1) 1)
(t (plus (fib1 (difference n 1))(fib1 (difference n 2))))))
(defun fib2 (n) ;7.033
(cond ((zerop n) 1)
((= n 1) 1)
(t (+ (fib2 (- n 1))(fib2 (- n 2))))))
(defun fib3 (n) ;6.993
(cond ((zerop n) 1)
((equal n 1) 1)
(t (+ (fib3 (- n 1))(fib3 (- n 2))))))
(defun timit ()
((lambda (t1 x gt)
(fib 20.)
(setq t1 (- (runtime) t1))
(setq gt (- (status gctime) gt))
(print (list 'runtime
(QUOTIENT (FLOAT (- t1 gt))
1000000.)))
(print (list 'gctime
(quotient (float gt) 1000000.))))
(runtime) ()(status gctime)))
(defun timit1 ()
((lambda (t1 x gt)
(fib1 20.)
(setq t1 (- (runtime) t1))
(setq gt (- (status gctime) gt))
(print (list 'runtime
(QUOTIENT (FLOAT (- t1 gt))
1000000.)))
(print (list 'gctime
(quotient (float gt) 1000000.))))
(runtime) ()(status gctime)))
(defun timit2 ()
((lambda (t1 x gt)
(fib2 20.)
(setq t1 (- (runtime) t1))
(setq gt (- (status gctime) gt))
(print (list 'runtime
(QUOTIENT (FLOAT (- t1 gt))
1000000.)))
(print (list 'gctime
(quotient (float gt) 1000000.))))
(runtime) ()(status gctime)))
(defun timit3 ()
((lambda (t1 x gt)
(fib3 20.)
(setq t1 (- (runtime) t1))
(setq gt (- (status gctime) gt))
(print (list 'runtime
(QUOTIENT (FLOAT (- t1 gt))
1000000.)))
(print (list 'gctime
(quotient (float gt) 1000000.))))
(runtime) ()(status gctime)))
(defun ffib (n)
(cond ((= n 0) 1)
((= n 1) 1)
(t (do ((n1 1 n0)
(i 2 (+ i 1))
(n0 2 (+ n1 n0)))
((= i n) n0)))))
;(timit)
;(RUNTIME 7.364)
;(GCTIME 0.0)
;T
;←
;(RUNTIME 7.364)
;(GCTIME 0.0)
;T
;←
;(timit)
;(RUNTIME 7.37)
;(GCTIME 0.0)
;T
;←
;***********************
;compiled
(timit)
(RUNTIME 0.207)
(GCTIME 0.0)
(RUNTIME 0.207)
(GCTIME 0.0)
(RUNTIME 0.206)
(GCTIME 0.0)
(RUNTIME 0.207)
(GCTIME 0.0)
(RUNTIME 0.207)
(GCTIME 0.0)